home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / modelers / geomview / source.lha / Geomview / include / create.h < prev    next >
C/C++ Source or Header  |  1993-08-10  |  5KB  |  114 lines

  1. /* Copyright (c) 1992 The Geometry Center; University of Minnesota
  2.    1300 South Second Street;  Minneapolis, MN  55454, USA;
  3.    
  4. This file is part of geomview/OOGL. geomview/OOGL is free software;
  5. you can redistribute it and/or modify it only under the terms given in
  6. the file COPYING, which you should have received along with this file.
  7. This and other related software may be obtained via anonymous ftp from
  8. geom.umn.edu; email: software@geom.umn.edu. */
  9.  
  10. /* Authors: Charlie Gunn, Stuart Levy, Tamara Munzner, Mark Phillips */
  11.  
  12. #ifndef CR_DEF
  13. #define CR_DEF
  14.  
  15. #include <stdarg.h>    /* So we only have to do it once, here. */
  16.  
  17.     /* Generic attributes */
  18. #define    CR_END        0    /* Marks end of create list (any object) */
  19. #define CR_COPY        1    /* no argument  (any object)        */
  20. #define CR_NOCOPY    2    /* no argument  (any object)        */
  21. #define CR_HANDLE    3    /* Handle *    (any object)        */
  22.  
  23.     /* Generic Geom attributes */
  24. #define CR_APPEAR    8    /* marks beginning of Appearance create list) */
  25.  
  26. #define CR_POINT    9    /* Point3 []    (any Geom with vertices) */
  27. #define CR_POINT4    18    /* HPoint3 []    (any Geom with 4D vertices) */
  28. #define CR_NORMAL    10    /* Point3 []    (any Geom w/per-vtx normals) */
  29. #define CR_COLOR    11    /* ColorA []    (any Geom w/per-vtx colors) */
  30. #define CR_OPACITY    12    /* XXX Not used yet XXX        */
  31.  
  32. #define CR_FLAG        13    /* int flags    (patch,Mesh,PolyList,Quad) */
  33. #define    CR_FLAGMERGE    14    /* int flags, int flagmask        */
  34.     /* Control of 'override' mask for mergeable things (Appearance)    */
  35. #define    CR_OVERMERGE    15    /* int override, int ovmask        */
  36.  
  37.     /* BBox attributes */
  38. #define CR_MAX        16    /* Point3 *    (BBox)            */
  39. #define CR_MIN        17    /* Point3 *    (BBox)            */
  40. #define CR_4MAX        1492    /* HPoint3 *    (BBox)            */
  41. #define CR_4MIN        1066    /* HPoint3 *    (BBox)            */
  42.  
  43. #define CR_4D        19    /* is this object a true 4D item?    */
  44.  
  45.     /* Hierarchy object (Inst, List, TList) attributes */
  46. #define CR_AXIS        20    /* Transform    (Inst)            */
  47. #define CR_GEOM        21    /* Geom *child    (Inst,List)        */
  48. #define    CR_GEOMHANDLE    22    /* Handle *childname (Inst,List)    */
  49. #define CR_TLIST    23    /* Geom *tlist       (Inst,TList)        */
  50. #define    CR_TLISTHANDLE    24    /* Handle *tlistname (Inst,TList)     */
  51. #define CR_ELEM        25    /* Transform []    (TList)            */
  52. #define CR_NELEM    26    /* int nxforms(TList), int nquads (Quad) */
  53. #define CR_CDR        27    /* List *    (List) (obsolescent?)    */
  54. #define    CR_AXISHANDLE    28    /* Handle * to TransObj (for Inst)    */
  55. #define CR_HANDLE_GEOM  29    /* Handle *, Geom *    (Inst, List)    */
  56. #define    CR_CAR        CR_GEOM    /* Geom *    (List) (obsolescent)    */
  57. #define    CR_UNIT        CR_GEOM /* Geom *    (Inst) (obsolescent)    */
  58.  
  59.     /* Mesh attributes */
  60. #define CR_NU        30    /* int nu    (Mesh)            */
  61. #define CR_NV        31    /* int nv    (Mesh)            */
  62. #define    CR_UWRAP    32    /* int uwrapped    (Mesh)            */
  63. #define    CR_VWRAP    33    /* int vwrapped    (Mesh)            */
  64. #define CR_U        34    /* Point3 texturecoords[] (Mesh)    */
  65.  
  66. #define CR_UMIN        35    /* int umin    (Mesh) [submesh]    */
  67. #define CR_UMAX        36    /* int umax    (Mesh)            */
  68. #define CR_VMIN        37    /* int vmin    (Mesh)             */
  69. #define CR_VMAX        38    /* int vmax    (Mesh)            */
  70.  
  71.     /* Patch attributes */
  72. #define CR_DEGU        40    /* int u_degree    (patches)        */
  73. #define CR_DEGV        41    /* int v_degree    (patches)        */
  74. #define CR_MESH        42    /* Mesh *    (patches)        */
  75. #define CR_DIM        43    /* int vertex_dim (= 3 or 4) (patches)    */
  76. #define    CR_ST        44    /* struct { float s, t; } stcoords[4];    */
  77.                 /* (texture coords at corners (Mesh,Patch) */
  78. #define    CR_MESHDIM    45    /* mesh surface dimension (typ. 2)    */
  79. #define    CR_MESHSIZE    46    /* int meshsize[meshdim]          */
  80.  
  81.     /* Vect attributes */
  82. #define CR_NVECT    48    /* int  nvectors (Vect)            */
  83. #define CR_NVERT    49    /* int nvertices (Vect)            */
  84. #define CR_NCOLR    50    /* int ncolors  (Vect)            */
  85. #define CR_VECTC    51    /* short nverts_per_vector[nvect] (Vect)*/
  86. #define CR_COLRC    52    /* short ncolors_per_vector[nvect] (Vect)*/
  87.  
  88.     /* PolyList attributes */
  89. #define CR_NPOLY        56    /* int npolygons    (PolyList)    */
  90. /*      CR_NVERT    (48)       int nvertperpol[npoly]        */
  91. #define CR_VERT         57    /* int vertindex[sum(nvertperpol[])]    */
  92. #define CR_POLYNORMAL   58    /* Point3 facenormal[npoly]        */
  93. #define CR_POLYCOLOR    59    /* ColorA facecolor[npoly]        */
  94.  
  95.     /* Sphere attributes */
  96. #define CR_CENTER        60    /* HPoint3 *center        */
  97. #define CR_RADIUS        61    /* float  radius        */
  98. #define CR_SPACE        64    /* Space - TM_EUCLIDEAN is default */
  99. #define CR_NENCOMPASS_POINTS    65    /* int - Number of points to be
  100.                      * put inside sphere */
  101. #define CR_ENCOMPASS_POINTS    66    /* Hpoint3 * - points to be inside
  102.                      * sphere (for bounding spheres */
  103. /*      CR_AXIS            20    Transform to apply to points before
  104.                     making bounding sphere */
  105.  
  106. /* tokens for Camera moved to camera.h */
  107.  
  108. /* tokens for Appearances, Lights, Materials moved to shade/appearance.h */
  109.  
  110. #define    CR_POLICE    62    /* enforce strong checking on input data? */
  111. #define    CR_NOPOLICE    63    /* enforce strong checking on input data? */
  112.  
  113. #endif
  114.